// ++++++++++++++++++++++++++++++++++++++++
// 《Go 语言+Vue.js 实战派——基于 Gin 框架》源码
// ++++++++++++++++++++++++++++++++++++++++
// 作者公众号：源码大数据
// 自媒体账号（抖音、视频号、快手、B站、知乎）：廖显东-ShirDon
// 仓库地址：https://gitee.com/shirdonl/goGinVue.git
// 仓库地址：https://github.com/shirdonl/goGinVue.git
// 博客：https://www.shirdon.com
// 购买图书：https: //item.jd.com/14958064.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import (
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()

	r.GET("/download", func(c *gin.Context) {
		// 文件路径
		filePath := "./test_download.txt"

		// 为客户端设置自定义文件名
		customFileName := "downloaded_file.txt"

		//使用自定义文件名将文件作为响应发送给客户端
		c.Header("Content-Disposition", "attachment; filename="+customFileName)
		c.File(filePath)
	})

	r.GET("/download2", func(c *gin.Context) {
		// 文件路径
		filePath := "./largefile.zip"

		// 为客户端设置自定义文件名
		customFileName := "downloaded_file.zip"

		//使用流式传输将文件作为响应发送给客户端
		c.Header("Content-Disposition", "attachment; filename="+customFileName)
		c.File(filePath)
	})

	r.Run()
}
